import redRequest from '../index';
import { IAccount, ILoginResult } from './type';
import { IResponseDataType } from '../type';

enum LoginAPI {
  AccountLogin = '/login',
  loginUserInfo = '/users/', // 用法 /users/4(userId)
  userMenus = '/role/' // /role/1/menu
}

// 账号登录请求
export function accountLoginRequest(account: IAccount) {
  // 可以给请求传入一个类型,这个类型将作为请求的返回的类型
  return redRequest.post<IResponseDataType<ILoginResult>>({
    url: LoginAPI.AccountLogin,
    data: account
  });
}

// 获取用户信息
export function requestUserInfoById(id: number) {
  return redRequest.get<IResponseDataType>({
    url: LoginAPI.loginUserInfo + id
  });
}

// 获取可以使用的菜单
export function requestUserMenuByRoleId(roleId: number) {
  return redRequest.get<IResponseDataType>({
    url: LoginAPI.userMenus + roleId + '/menu'
  });
}
